Obtaining data from a server is the basis for many network applications executed at a client. The terms “server” and “client” are construed in a broad sense. For instance, for two parties involved in network communication, the party that requests data is a client whereas the party that provides data is a server. With the rapid development of Internet and information technology (IT) infrastructure, a primary functionality of a server focuses on responding to and processing requests made by a client while the functionality of storing data is transferred to an external data source. In such a scenario, in response to a request for data made by the client, the server obtains the data from the external data source and then returns this data to the client.